package com.sky.controller.user;

import com.sky.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * springioc容器中的每个对象都是有自己的名称的 且名称不能重复
 *  如果使用的是@RestController @Service这一类的注解 如果你再创建对象的时候没有指定对象的名称 那么他就会用类名首字母消息作为名称
 *  如果使用的是@Bean的方式创建对象 没有指定名称 默认使用方法名称作为对象的名称
 */
@RestController("userShopController")
@RequestMapping("/user/shop")
@Api(tags = "店铺状态")
@Slf4j
public class ShopController {
    @Autowired
    private RedisTemplate redisTemplate;

    public static final String KEY = "SHOP_STATUS";

    /**
     * 查询店铺的状态
     */
    @GetMapping("/status")
    @ApiOperation("查询店铺的状态")
    public Result<Integer> getStatus(){
        Object status = redisTemplate.opsForValue().get(KEY);
        if(null == status){
            return Result.success(0);
        }

        return Result.success((Integer)status);
    }
}
